package com.h819.core.web;

import javax.servlet.http.HttpServletRequest;

/**
 * @Title: ServletUtils.java
 * @Description: TODO(web 应用,servlet 工具类)
 * @author H819
 * @date 2010-4-9
 * @version V1.0
 */

// http://www.blogjava.net/meil/archive/2006/10/10/73908.html
public class ServletUtils {

	/**
	 * Constructor of the object.
	 */
	public ServletUtils() {
		super();
	}

	/**
	 * 取得请求所在的  web 应用的根目录
	 * 
	 * @param request
	 * @return
	 */
	public String getContextPath(HttpServletRequest request) {
		return request.getContextPath();
	}
	
	
	/**
	 * 取得发起请求的 url, 所在的目录,如请求为
	 * http://localhost:8080/h819/servlet/ServletUtils，返回结果为
	 * http://localhost:8080/h819/servlet/
	 * 
	 * 物理路径无法得到，可读取配置文件来解决
	 * 
	 * @param request
	 * @return
	 */
	public String getRequestPath(HttpServletRequest request) {

		// 取得应用所在的目录
		String path = getContextPath(request);

		// 取得文件所在的文件夹，并且取得最后一个 "/" 的部分
		String path1 = request.getServletPath();
		int i = path1.lastIndexOf("/");
		String path2 = path1.substring(0, i);

		String basePath = request.getScheme() + "://" + request.getServerName()
				+ ":" + request.getServerPort() + path + path2 + "/";
		return basePath;
	}
}
